package com.yuw.singleton;

public class ShopCartSingleton {

    // 懒汉的实现方式

    // 属性
    private String goodName;
    // 行为

    // 1 静态的单件模式类的成员变量   --- 常驻内存
    private static ShopCartSingleton shopCart;

    // 2 私有的构造方法   --- 防止外部进行new实例化
    private ShopCartSingleton() {
    }

    // 3 提供一个static的全局的访问入口  --- 提供静态方法获取实例对象
    public static ShopCartSingleton getShopCartInstance() {
        // 第一次访问shopCart变量时进行初始化
        // 这种实现方式存在线程安全问题

        if (shopCart == null) {
            shopCart = new ShopCartSingleton();
        }
        // 返回实例对象
        return shopCart;
    }
}
